package com.niit.musicserve.dao;

import com.niit.musicserve.entity.Song;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
public interface SongMapper {
	
	/**
	 * 添加歌曲
	 */
	public int insertSong(Song song);
	
	/**
	 * 删除歌曲
	 */
	public int deleteSongById(int id);
	
	/**
	 * 修改歌曲
	 */
	public int updateSongById(Song song);
	
	/**
	 * 查询所有歌曲
	 */
	public List<Song> allSong();
	
	/**
	 * 查询所有歌曲（带歌手信息）
	 */
	public List<Song> allSongWithSinger();
	
	/**
	 * 根据id查询歌曲
	 */
	public Song songById(Integer id);
	
	/**
	 * 根据歌名模糊查询歌曲
	 */
	public List<Song> likeSongByName(String songName);
	
	/**
	 * 根据歌名精准查询歌曲
	 */
	public List<Song> songByName(String songName);
	
	/**
	 * 根据歌手id查询歌曲
	 */
	public List<Song> songBySingerId(Integer singerId);
	
	/**
	 * 查询歌曲数量
	 */
	public Integer numberOfSong();
}
